Various types of hand-held bar code readers such as wands, fixed beam, moving beam, and linear CCD readers, have been developed for many applications. Such examples of prior art hand held bar code readers are not omnidirectional, and therefore suffer from serious drawbacks including limited range, the need to align the reader scan line with the bar code (i.e. lack omnidirectionality), inability to read damaged, poorly printed, multiple, stacked or true two dimensional codes.
Wands, fixed beam, and moving beam readers all operate using the same basic principle. Typically, a small spot of light is directed from a source of illumination to the surface of the bar code and is swept across the entire length of the bar code (i.e. a scan line). The intensity of the reflected light from the beam is modulated by the bar code pattern. This reflected light is gathered by optics and focused on an optical detector which converts light intensity to an electrical signal. Since light areas reflect more than dark areas, the reflected light intensity represents the digital code which serves to identify the content of the bar code symbol.
The wand is the least complicated of these readers and consists of a light source (typically an LED) and a photosensitive element in a pen-like package. The operator must sweep the wand across the length of the bar code while keeping the tip of the wand in contact with the bar code. This severely restricts the use of wands to applications where the operator can physically contact the bar code. Additionally, repeated sweeps of the bar code are typically necessary to obtain a valid read, increasing the overall time required to read each bar code. Wands will not read damaged or poorly printed bar codes.
A fixed beam reader operates with the same basic principles as the wand without the need to maintain physical contact with the bar code. The spot, typically produced by an LED or laser, is projected from the reader to distances up to about one foot. The operator is required to sweep the projected spot across the bar code. Fixed beam readers require very careful and accurate aim. Additionally, hand motions or jitter is amplified as the distance to the bar code increases. The longer the range, the larger the bar codes must be. Fixed beam readers will not read damaged or poorly printed bar codes.
Moving beam readers direct an LED or laser beam in a repetitive linear (i.e. one-dimensional) scanning pattern using rotating or vibrating mirrors and lenses. These readers eliminate the need for manual scanning or sweeping of the code. A moving beam reader typically scans at about 40 scans per second, allowing multiple tries on a bar code. This provides a better chance to get a valid read on a bar code with minimal damage. However the readers must get a complete valid scan (i.e. cut through all of the bars in one sweep) in order to decode a bar code. Moving beam readers are also restricted to reading small codes up close and large codes far away. Typical range of moving beam readers is about one foot. Moving beam readers will not read damaged or poorly printed bar codes.
Linear CCD readers eliminate the need for mechanically sweeping a beam across bar codes, but require a bright source of illumination. Linear CCD readers capture a one dimensional image of the bar code and read out the information as an electrical signal which is similar to the output of wand, fixed, or moving beam readers. Linear CCD readers have an extremely small depth of field of about one inch, and are usually limited to reading bar codes shorter than the width of the CCD reader head (typically less than 3 inches). Linear CCD readers will not read damaged or poorly printed bar codes.
CCD readers typically use light emitting diodes (LED) for illumination. Attempts have been made to improve the performance of linear CCD readers by using flash illumination. Examples of such readers are shown in U.S. Pat. Nos. 4,282,425; 4,766,300; and 4,570,057. However, the readers disclosed in these patents still have a very limited operating range of about one inch and therefore require a proximity sensor to detect when the reader is within the operating range to prevent wasting flash energy. Additionally, the flash illuminates an area much larger than necessary, and provides no assistance with aiming the reader. The actual area that is imaged by the linear CCD sensor, and therefore the only area requiring illumination, is a typically under one tenth of a millimeter tall by two or three inches wide. It is extremely difficult to concentrate illumination energy on such a short area due to the diameter of the flash tube and the compromises required in the reflector design to accommodate the depth of field. Therefore, the flash illumination described wastes most of the illumination energy.
U.S. Pat. No. 4,877,949 discloses automated focus based on distance measurement to improve the reading range of hand held linear CCD readers. However, this reader only increased the range from the one inch of fixed optics linear CCD readers to three inches, and can still only read relatively short bar codes. The reader described must compromise the fixed flash illumination system even more to accommodate this small increase in range, thereby decreasing illumination efficiency. Two marker light beams are required to delineate the image sensor field of view. The operator must therefore align the reader scan line with the bar code by placing the marker spots at both ends of the code, which in many cases necessitates severe twisting of the arm and wrist.
Many situations require reading of multiple codes on a single label such as the Automotive Independent Action Group (AIAG) Specification B-3. Existing hand held readers must be individually aimed and triggered at each individual bar code. Additionally, stacked bar codes such as Code 49 and 16K are very time consuming and difficult to read with existing hand held bar code readers. True two dimensional codes (codes that do not encode information in a linear fashion only) such as Vericode, Datacode, and United Parcel Service UPSCODE, can not be read with these readers.
In general, in the prior art, it is typically necessary for the operator to either orient the bar code, or otherwise position the bar code and/or the reader scan line manually in order to achieve proper operation. Prior art bar code readers have severe maximum range limitations. Within this limited range prior art bar code readers are restricted to reading large codes far away, and small codes up close. Also, prior art bar code readers have difficulty reading damaged, stacked, and multiple bar codes. Prior art bar code readers can not read true two dimensional codes. Furthermore, attempts to increase the range of prior art non-omnidirectional bar code readers results in a difficult, and in many common situations, impractical devices to use. As range increases, the aiming accuracy and steadiness required with non-omnidirectional readers makes it very difficult to read bar codes that do not have a high aspect ratio (ratio of height of the bars to overall bar code length). It therefore becomes virtually impossible to align the reader scan with short and or stacked codes at distance. Multiple and stacked codes become nearly impossible to read at distance. The common result of these limitations is misread bar codes, unread bar codes, and/or excessive amounts of time to get in range and align the reader scan line with the bar code. Due to the limitations of the prior art bar code readers, the benefit of marking items with machine readable symbols is greatly reduced or lost.